/******************************************************************************/
/* Fichero:     Persona.java
/* Versión:     1.0
/* Autor:       Luis Maqueda
/* Fecha:       Mayo 2009
/* Proyecto:    AELANsoft cumpleaños
/* Descripción: La clase persona sirve para almacenar los datos de los usuarios
existentes en la base de datos.
/******************************************************************************/
package utiles;

import java.io.Serializable;

/******************************************************************************/
public class Persona implements Serializable {
/******************************************************************************/

   String nombre;
   String apellidos;
   String correo;
   int diaCumple;
   int mesCumple;

   /***************************************************************************
    * Compara mi persona con la persona pasada por parametro y devuelve:
    *  -  1 si mi fecha de cumpleaños es mayor que la de p
    *  -  0 si mi fecha de cumpleaños es igual que la de p
    *  - -1 si mi fecha de cumpleaños es menor que la de p
    * @param p persona con la que comparar
    * @return comparar resultado de la comparacion
    **************************************************************************/
   public int compararCumple(Persona p) {
      if (this.mesCumple > p.mesCumple ||
            (this.mesCumple == p.mesCumple && this.diaCumple > p.diaCumple)) {
         return 1;
      }
      else if (this.mesCumple == p.mesCumple && this.diaCumple == p.diaCumple) {
         return 0;
      }
      else {
         return -1;
      }
   }

   /***************************************************************************
    * Compara mi persona con la persona pasada por parametro y devuelve:
    *  -  1 si mi nombre es mayor (alfabeticamente) que el de p
    *  -  0 si mi nombre es igual (alfabeticamente) que el de p
    *  - -1 si mi nombre es menor (alfabeticamente) que el de p
    * @param p persona con la que comparar
    * @return comparar resultado de la comparacion
    **************************************************************************/
   public int compararNombre(Persona p) {
      return this.nombre.compareToIgnoreCase(p.nombre);
   }

   /***************************************************************************
    * Setea la variable de clase "nombre"
    * @param nombre nombre de la persona
    **************************************************************************/
   public void SetNombre(String nombre) {
      this.nombre = nombre;
   }

   /***************************************************************************
    * Setea la variable de clase "apellidos"
    * @param apellidos apellidos de la persona
    **************************************************************************/
   public void SetApellidos(String apellidos) {
      this.apellidos = apellidos;
   }

   /***************************************************************************
    * Setea la variable de clase "correo"
    * @param correo correo electronico de la persona
    **************************************************************************/
   public void SetCorreo (String correo) {
      this.correo = correo;
   }

   /***************************************************************************
    * Setea la variable de clase "diaCumple"
    * @param diaCumple dia de cumpleaños de la persona
    **************************************************************************/
   public void SetDiaCumple(int diaCumple) {
      this.diaCumple = diaCumple;
   }

   /***************************************************************************
    * Setea la variable de clase "mesCumple"
    * @param mesCumple mes de cumpleaños de la persona
    **************************************************************************/
   public void SetMesCumple(int mesCumple) {
      this.mesCumple = mesCumple;
   }

   /***************************************************************************
    * Devuelve la variable de clase "nombre"
    * @return nombre nombre de la persona
    **************************************************************************/
   public String GetNombre() {
      return this.nombre;
   }

   /***************************************************************************
    * Devuelve la variable de clase "apellidos"
    * @return apellidos apellidos de la persona
    **************************************************************************/
   public String GetApellidos() {
      return this.apellidos;
   }

   /***************************************************************************
    * Devuelve la variable de clase "correo"
    * @return correo correo electronico de la persona
    **************************************************************************/
   public String GetCorreo () {
      return this.correo;
   }

   /***************************************************************************
    * Devuelve la variable de clase "diaCumple"
    * @return diaCumple dia de cumpleaños de la persona
    **************************************************************************/
   public int GetDiaCumple() {
      return this.diaCumple;
   }

   /***************************************************************************
    * Devuelve la variable de clase "mesCumple"
    * @return mesCumple mes de cumpleaños de la persona
    **************************************************************************/
   public int GetMesCumple() {
      return this.mesCumple;
   }

}
